export const cancelOrderApp = (backApp) => {

    // 检测操作系统
    let ran = navigator.userAgent
    let isAndroid = ran.indexOf('Android') > -1 || ran.indexOf('Linux') > -1
    // const userAgent = navigator.userAgent || navigator.vendor || window.opera;
    const isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    // 构建分享参数
    console.log('params', backApp);
    if (isIOS) {
        // 检查 window.webkit.messageHandlers 是否存在以及 h5ShareToWx 消息处理器是否可用
        if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.commonReturn) {
            try {
                // 发送消息到原生 App
                let ios = {
                    type:'orderlist'
                }
                window.webkit.messageHandlers.commonReturn.postMessage(ios);
                console.log('Message sent to native app successfully.');
            } catch (error) {
                console.error('Failed to send message to native app:', error);
                // 这里可以添加额外的错误处理逻辑，比如显示一个错误提示给用户
            }
        } else {
            console.error('Native message handler is not available.');
            // 这里可以添加备用逻辑，比如显示一个提示告诉用户该功能在当前环境中不可用
        }
    } else if (isAndroid) {
        // Android 平台的分享逻辑
        if (window.deviceInfo && typeof window.deviceInfo.commonReturn === 'function') {
            try {
                window.deviceInfo.commonReturn(backApp);
                console.log('Message sent to Android native app successfully.');
                // 可能需要处理 Android 特定的回调或响应
            } catch (error) {
                console.error('Failed to send message to Android native app:', error);
                // 处理错误，例如显示提示给用户
            }
        } else {
            console.error('Android native interface is not available or the method is not defined.');
            // 处理不可用或未定义情况
        }
    }
}
export const h5Share = (state) => {
    // console.log('h5Share',state.order);
    // #ifdef H5
    // 检测操作系统
    let ran = navigator.userAgent
    let isAndroid = ran.indexOf('Android')>-1 || ran.indexOf('Linux')>-1
    // const userAgent = navigator.userAgent || navigator.vendor || window.opera;
    const isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    // 构建分享参数
    const params = {
        title: state.order.arr_man + '，请确认订单并完成付款',
        path: `/pages/placeOrder/cust-pay?back_code=${state.order.back_code}&pay_part_amount=${state.order.pay_part_amount}&page_src=Share`,
        imageUrl: state.order_details[0].product_image,
    };
    if (isIOS) {
        // 检查 window.webkit.messageHandlers 是否存在以及 h5ShareToWx 消息处理器是否可用
        if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.h5ShareToWx) {
            try {
                // 发送消息到原生 App
                window.webkit.messageHandlers.h5ShareToWx.postMessage(params);
                console.log('Message sent to native app successfully.');
            } catch (error) {
                console.error('Failed to send message to native app:', error);
                // 这里可以添加额外的错误处理逻辑，比如显示一个错误提示给用户
            }
        } else {
            console.error('Native message handler is not available.');
            // 这里可以添加备用逻辑，比如显示一个提示告诉用户该功能在当前环境中不可用
        }
    }else if (isAndroid) {
        // Android 平台的分享逻辑
        if (window.deviceInfo && typeof window.deviceInfo.h5ShareToWx === 'function') {
            try {
                window.deviceInfo.h5ShareToWx(JSON.stringify(params));
                console.log('Message sent to Android native app successfully.');
                // 可能需要处理 Android 特定的回调或响应
            } catch (error) {
                console.error('Failed to send message to Android native app:', error);
                // 处理错误，例如显示提示给用户
            }
        } else {
            console.error('Android native interface is not available or the method is not defined.');
            // 处理不可用或未定义情况
        }
    }
    // #endif
};
export const shareGoods = (state) => {
    console.log('h5Share',state);
    // #ifdef H5
    // 检测操作系统
    let ran = navigator.userAgent
    let isAndroid = ran.indexOf('Android')>-1 || ran.indexOf('Linux')>-1
    // const userAgent = navigator.userAgent || navigator.vendor || window.opera;
    const isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
    // 构建分享参数
    const params = {
        title: state.product_name,
        path: `/pages/placeOrder/goods/immedBuggoods?val=${JSON.stringify({product_id:state.product_id})}`,
        imageUrl: state.product_image,
    };
    if (isIOS) {
        // 检查 window.webkit.messageHandlers 是否存在以及 h5ShareToWx 消息处理器是否可用
        if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.h5ShareToWx) {
            try {
                // 发送消息到原生 App
                window.webkit.messageHandlers.h5ShareToWx.postMessage(params);
                console.log('Message sent to native app successfully.');
            } catch (error) {
                console.error('Failed to send message to native app:', error);
                // 这里可以添加额外的错误处理逻辑，比如显示一个错误提示给用户
            }
        } else {
            console.error('Native message handler is not available.');
            // 这里可以添加备用逻辑，比如显示一个提示告诉用户该功能在当前环境中不可用
        }
    }else if (isAndroid) {
        // Android 平台的分享逻辑
        if (window.deviceInfo && typeof window.deviceInfo.h5ShareToWx === 'function') {
            try {
                window.deviceInfo.h5ShareToWx(JSON.stringify(params));
                console.log('Message sent to Android native app successfully.');
                // 可能需要处理 Android 特定的回调或响应
            } catch (error) {
                console.error('Failed to send message to Android native app:', error);
                // 处理错误，例如显示提示给用户
            }
        } else {
            console.error('Android native interface is not available or the method is not defined.');
            // 处理不可用或未定义情况
        }
    }
    // #endif
};
